home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fritz: All Fritz
/
All Fritz.zip
/
All Fritz
/
FILES
/
PROGNG_C
/
MDSPL100.LZH
/
MDISPLAY.DOC
next >
Wrap
Text File
|
1987-11-18
|
45KB
|
992 lines
M D I S P L A Y
Secondary Monochrome I/O routines
Initial release, version 1.00
copyright 1987 by William B. Bird
Shareware
---------
This software is distributed as a shareware program. Please
observe the following conditions:
1) This software is not in the Public Domain. It is owned and
copyrighted by the author.
2) You may copy and distribute the software to whomever you wish,
but must distribute it intact, with no modifications.
3) You may not charge for the software, except for the actual cost
to copy the software (not to exceed $10.00). BBS's may restrict
access to fee paying registered users, at the SYSOP's
discretion.
4) You may not take credit for the software.
5) The software, when distributed, must have ALL of it's files.
6) If you like the software, and deem it to be of value to you,
you may contribute any Dollar amount you feel is deserving
to the author. Contributions of $25 or larger will entitle
the contributor to the next release of this software by direct
mail.
7) The requirements above do not apply to executable files which
have the MDISPLAY routines linked into them. The author makes
no royalty or other requirements to software which includes
these routines except that any commercial use must be registered
with the author and must include a contribution of $25 or more.
8) With the current release, the source of the actual I/O routines
is not included. Source for these routines may be available to
registered users ($25 donation). Contact the author if this is
a requirement.
User supported software is an attempt to provide quality software
at low cost to both the provider and the user. The cost of a software
offering through conventional channels is very large, resulting in high
prices and the inability of independent authors and small companies
to develope and promote new products. User supported software is an
attempt to develop a new, low cost, marketing channel for software
distribution.
If the user supported software concept works, then everyone will
benefit. The user will benefit by receiving quality products at a
low cost and by being able to throughly evaluate the product before
buying it. The author benefits by being able to enter the software
market without the high front end costs and risks. Unfortunately,
this concept can only work if all software users honor the author's
request for support. If you, as a software user, benefit from a
"shareware" program then it must be worth something to you. If so,
you should send a contribution to the author. Without contributions,
good software authors will not be able to supply and support the high
quality software that is required.
Installation
------------
This computer program will run on IBM PC's and true compatibles,
which have both a color card (or EGA) and monitor and a monochrome card
and monitor. The initialization routines will attempt to determine
whether the hardware configuration is appropriate and, if not, return
an error indication. If you run into a situation where you believe
that the hardware is approriate and the software does not work as
described, please contact the author.
This software is not copy protected.
The software, as supplied, is written in, and compatable with
Microsoft C version 4.0. Future releases will be available for MSC
version 5.0, and Borland's Turbo Pascal version 4.0 as they are
released. Other Microsoft and Borland products may be compatable with
these releases. If you have a specific compatability requirement,
feel free to contact the author about that requirement.
The supplied disk includes the following files:
README TXT Program overview and file list
MDISPLAY DOC Mdisplay routine documentation
MDISPLAY H C include file for entry points and variables
MDISPLAY OBJ Mdisplay routines in OBJ format
MDISPLAY LIB Mdisplay routines in MS LIB format
MDSPDEMO Make file for mdisplay demo
MDSPDEMO C Source for mdisplay demo
MDSPDEMO EXE Executable file for mdisplay demo
MDSPTEE Make file for mdisplay tee utility
MDSPTEE C Source file for mdisplay tee utility
MDSPTEE EXE Executable file for mdisplay tee utility
MDSP Make file for MDSP utilities
MDSP BAT Test batch file for MDSP utilities
MDSPI C Source file for program to initialize monochrome
display
MDSPI EXE Executable file for program to initialize monochrome
display
MDSP1 C Source file for program to write to the left half of
the monochrome screen
MDSP1 EXE Executable file for program to write to the left half
of the monochrome screen
MDSP2 C Source file for program to write to the right half of
the monochrome screen
MDSP2 EXE Executable file for program to write to the right half
of the monochrome screen
Each of the executable files should run on your system. It is
recommended that you run the MDSP bat file and the MDSPDEMO program
to verify compatabilibty with your system.
Your cooperation in ensuring that everyone gets a complete copy of
of this software is appreciated.
Purpose of this Software
------------------------
This software is intended to allow the user to access two monitors
from a user written program. Currently, that program must be written
in Microsoft C or a compatable compiler and linked with Microsoft's
link editor. Future versions may be available for other compilers.
The software will perform the following funtions:
* Check for availability of a monochome card and, if available
initialize it.
* Create a default (full screen) window and from 0 to 15 user
(partial screen) windows. The routines will edit window
requests to insure that they do not overlap (except with
the default window). User windows can also be destroyed,
allowing the screen space to be reused.
* Allow the user to enable or disable the monochrome screen.
This is a screen saving feature which is under the control of
of the programmer (it is not automatic).
* Routines are available to clear a window, scroll a window,
write a character to a window, write a string to a window,
set the cursor position in a window, and get the cursor
position (and window size) from a window. All these routines
can be issued against either the default or a user window.
Future Enhancements
-------------------
Future enhancements to this software will be made to correct errors
and add new features. The current list of enhancements that are being
considered includes:
* Support for additional compilers. Support for MSC V5.0 (no
changes likely) and Turbo Pascal V4.0 will be provide when
the compiler is received (real soon now).
* Performance improvements. The screen write facility is much
slower than desired. Significant pieces of these routines
will be rewritten, probably in assembler, to increase the
performance.
* Support for addition output options. Currently, all windows
emulate TTY like output (with a cursor positioning function).
Additional options will be provided including; a no-scrolling
option, a no-line wrap option, overlapping windows, and ansi
or other terminal emulation routines.
* Support for Hercules compatable graphics. Currently, these
routines support the output of text and character graphics.
Future versions may add support for monochrome graphics when
used with a Hercules or compatable monochrome graphics card.
* Implementation of these routines as a true DOS device driver.
* Other enhancements that may be suggested by users of the
software.
Your Rights as a User
---------------------
The author provides this software, as is, with no warranties
express or implied including the warranties of MERCHANTABILITY and
fitness for the specific purpose intended by the user. It is expected
that most users will inspect and use the software prior to making any
payment to the author.
The medium that the software is supplied on is not warranted by the
author. If the medium was received directly from the author and is
not readable, please return it and a replacement will be supplied.
You may freely copy and distribute this software, as well as make a
sufficient number of backups for yourself. Please be sure that all
copies that you distribute are complete and unmodified.
If you are having any difficulty with the software, please write to
the author, and I will make every attempt to clarify and correct the
problem. Priority will be given to the correction of errors reported
by registered users. No telephone support is available at this time.
I am normally available through EXEC-PC (414-963-2889). I will
respond to questions addressed to me and will make sure that a current
version of this software is available there. You will have to make
your own arrangements to access EXEC-PC since registration is
required.
Routine Specific Documentation
------------------------------
Routine Specific Variables:
---------------------------
The "MDISPLAY.H" file contains variable and function definitions that
are required to allow a MS C program to call these functions. The
variables and functions included in this file are specified in this
section. The functions are described in detail in subsequent sections.
The following values are defined. These values may be returned by
function calls to indicate call status information. See the function
documentation for the values that will be returned.
FALSE 0
TRUE 1
ERROR -1
The variable maxMwin is available to allow the a program to
determine the number of user windows available. This version
defines the number of user windows as 15. This cannot be changed
without recompiling the Mdisplay program itself. If you, as the
user require more than 15 user windows, write me and I will
increase that number. This value may be made user definable in
a future release if there appears to be a need for it.
The following structure is used to return window information on
request. A variable with this structure is returned as the second
parameter of the get window status (getMwinStatus) function call.
struct mwctl {
int mwin; /* Window number */
int x1,y1,x2,y2; /* Window location / size */
int line; /* Current line number */
int column; /* Current column number */
};
The following functions are available for calls by a user program.
These functions perform the functions described in this document. Each
function is described, in turn, on the following pages.
initMono();
initMwin();
createMwin(int, int, int, int);
destroyMwin(int);
clearMwin(int);
scrollMwin(int, int);
setMwin(int, int, int);
writeStringToMwin(int, void *, char);
writeCharToMwin(int, char, char);
getMwinStatus(int, mwctl *);
enableMwin();
disableMwin();
initMono()
------------------
The initMono function performs a complete initialization of the
monochrome system. This process includes; initializing the MDISPLAY
internal variables, verifying the existance of a monochrome card,
verifying that the monochrome card is not the primary display,
initializing the monochrome card registers, and initializing the
monochrome video buffer. This function will return either zero
(the default window number) or ERROR (-1). When called, this function
should always be checked for a return of ERROR. If ERROR is returned,
these routines should not be used. This function can be called to
determine whether a usable secondary monitor is available. It will
not, however, be able to detect whether the secondary monitor is in
use by another program as a secondary monitor. In most cases, the
return from this function can be used to configure a program's output
(i.e., if the return is zero, use both the primary monitor and these
functions, otherwise use only the primary monitor).
Warning: This function uses the existance actual memory at segment
address B400 to determine whether a monochrome card is
present. This technique is same as the one used by the
PC-DOS mode command. This method can be fooled by memory
cards that are capable of using unused portions of the
video address space. I am not personally aware of any
that use the monochrome video area, but I suspect that
there are some available. If you have such a card, then
this function will not return an error and will initialize
the video area to blanks. This may cause problems if other
programs are using the area to store data.
Parameters:
None.
Return values: (int)
Zero (default window number)
ERROR (no monochrome card or it is primary)
Example:
if (initMono() == ERROR)
{ printf("Error in initializing mono card. ");
printf("Program being terminated.\n");
exit(); }
This example will initialize the monochrome card and create the
default (full screen) window. If an error is detected (no card
or primary) an error message will be displayed on the primary
display and the program terminated.
initMwin()
------------------
The initMwin function is similar to the initMono function except that
only the MDISPLAY internal variables are initialized. The monochrome
card verification and initialization logic is bypassed and no ERROR
processing occurs. This function should only be used if the initMono
function cannot be, and only after appropriate error processing and
initialization has been performed. This function will always return
a zero (the default window number).
Since this function does not initialize the monochrome card or the
video buffer, it can be used when sharing of the secondary monitor is
required. It is up to the programmer to insure that the programs
accessing the secondary monitor do not conflict. An example of this
use is contained in the MDSP programs (MDSPI, MDSP1, and MDSP2). The
first program (MDSPI) uses initMono to initialize the monochrome card
and quits. The other two programs (MDSP1 and MDSP2) use this function
to initialize the internal variables and use the createMwin (see below)
to create a window that uses half the monochrome display (left and
right half respectively). These programs allow the two halves of the
secondary monitor to be used independently.
Although not recommended, this function also allows these routines
to be used to access a primary monochrome monitor. This function will
initialize the internal variables and the default window even though
the monochrome monitor is currently primary. A createMwin call can
be made to specify a portion of the display to write on. The problem
with this approach is that output to the primary display that does not
use these routines (i.e., printf(...)) can write over this window or
cause it to be scrolled. In some cases, this may still be a useful
tool.
Parameters:
None.
Return values: (int)
Zero (default window number)
Example:
initMwin();
This example will initialize the MDISPLAY internal variables and
create the default (full screen) window. No error checking is
performed. When this function is used, it is assumed that you, the
programmer know the hardware configuration and how it is being used.
createMwin(int, int, int, int)
--------------------------------------
The createMwin function allocates a portion of the screen and
returns a number which allows the program to access that portion
or window. This process includes; verifying that the parameters
are valid, verifying that the requested portion of the screen is
not already allocated, initialize the internal window variables,
and clear the window area. This function will return either the
new window's number or ERROR (-1). When called, this function
should always be checked for a return of ERROR. If ERROR is returned,
the requested window is not available and should not be used in any
calls to Mwin functions. This version of the Mwin routines does
not support overlapping windows, nor is it able to detect whether
the requested portion of the screen is being used by another program.
This function can only be called after a call to initMono or
initMwin. If this function is called without the Mwin variables
being properly initialized, the function will return an ERROR
value.
Parameters:
Upper left corner (int, int)
Lower right corner (int, int)
Both the upper left corner and the lower right corner are
relative to (0,0) as the upper left corner of the screen.
On most monochrome monitors this results in a default window
of (0,0), (24,79). The default window (window zero) does
not have to be created using this function, it is created
by the initMono or initMwin functions.
Return values: (int)
Window (the number associated with the new window)
ERROR (the requested window could not be allocated)
Example:
wind1 = createMwin(1,1,12,12);
if (wind1 == ERROR)
{ printf("Error in creating window 1. ");
printf("Program being terminated.\n");
exit(); }
This example will create a window with an upper left corner of
(1,1) and a lower right corner of (12,12). Both the starting
and ending points are relative to (0,0) in the upper left corner
of the screen. If an error is detected (overlapping windows)
an error message will be displayed on the primary display and
the program terminated.
destroyMwin(int)
------------------------
The destroyMwin function frees the portion of the screen that
is allocated to the window that is being destroyed. This allows
that portion of the screen to be allocated to a new window. The
process of destroying a window includes verifying that the
requested window number is a valid window number, verifying that
it references an allocated window, and verifying that it is not
the default window. This function will return either a value of
TRUE (1) or ERROR (-1). It is only necessary to check for the
ERROR return if it is important that this routine succeeds. In
other cases the return value from this function can be ignored.
This function can only be called after a call to initMono or
initMwin. If this function is called without the Mwin variables
being properly initialized, the function will return an ERROR
value.
Parameters:
Window (int)
The Window parameter is normally a variable whose value was
returned from a call to the createMwin function. It is not
possible to destroy the default window (window zero).
Return values: (int)
TRUE (the window has been destroyed)
ERROR (the window could not be destroyed)
Example:
if (destroyMwin(wind2) == ERROR)
{ printf("Error in destroying window 2. ");
printf("Program being terminated.\n");
exit(); }
This example will destroy (free) the window referenced by the
variable wind2. If an error is detected (window not defined)
an error message will be displayed on the primary display and
the program terminated.
clearMwin(int)
----------------------
The clearMwin function blanks the portion of the screen that
is allocated to the window that is being cleared. The process of
clearing a window includes verifying that the requested window
number is a valid window number and verifying that it references
an allocated window or the default window. This function will
return either a value of TRUE (1) or ERROR (-1). The return value
from this routine should be checked to verify that the window is
now clear.
This function can only be called after a call to initMono or
initMwin. If this function is called without the Mwin variables
being properly initialized, the function will return an ERROR
value.
Parameters:
Window (int)
The Window parameter is normally a variable whose value was
returned from a call to the createMwin function. If the parameter
is zero (or a variable with zero value) the whole screen will
be cleared.
Return values: (int)
TRUE (the window has been cleared)
ERROR (the window could not be cleared)
Example:
if (clearMwin(wind2) == ERROR)
{ printf("Error in clearing window 2. ");
printf("Program being terminated.\n");
exit(); }
This example will clear (blank) the window referenced by the
variable wind2. If an error is detected (window not defined)
an error message will be displayed on the primary display and
the program terminated.
clearMwin(0);
In the second example the entire screen will be cleared. This
function call will always succeed unless the internal variables
have not been initialized.
scrollMwin(int, int)
----------------------------
The scrollMwin function scrolls the portion of the screen that
is allocated to the window that is being scrolled. The number of
lines that the window is scrolled is specified as the second
parameter. The process of scrolling a window includes verifying
that the requested window number is a valid window number, verifying
that it references an allocated window or the default window, and
verifying that the scroll amount is greater than zero and not
greater than the window height. If all edits succeed, each line
in the window will be moved up the scroll amount and the bottom
lines (the number will be equal to the scroll amount) will be
blanked and the cursor placed at the beginning of the first newly
blanked line. This function will return either a value of TRUE (1)
or ERROR (-1). The return value from this routine should be
checked to verify that the window has been scrolled.
This function can only be called after a call to initMono or
initMwin. If this function is called without the Mwin variables
being properly initialized, the function will return an ERROR
value.
Parameters:
Window (int)
Scroll amount (int)
The Window parameter is normally a variable whose value was
returned from a call to the createMwin function. If the parameter
is zero (or a variable with zero value) the whole screen will
be scrolled.
The scroll amount is the number of lines that the window will
be scrolled. This number must be greater than zero and less
than the number of lines on the screen (actually, a value equal
to the number of lines is allowed but it becomes a very slow
clearMwin).
Return values: (int)
TRUE (the window has been scrolled)
ERROR (the window could not be scrolled)
Example:
if (scrollMwin(wind2, 1) == ERROR)
{ printf("Error in scrolling window 2. ");
printf("Program being terminated.\n");
exit(); }
This example will scroll the window referenced by the variable
wind2 one line down. If an error is detected, an error message
will be displayed on the primary display and the program
terminated.
scrollMwin(0, 2);
In the second example the entire screen will be scrolled two
lines. This fuction call will always succeed unless the internal
variables have not been initialized.
writeCharToMwin(int, char, char)
----------------------------------------
The writeCharToMwin function writes one character to the portion
of the screen that is allocated to the window referenced in the
Window parameter. The location that the character is written to
is dependent on previous commands to the window (the screen location
is saved across window calls). The attribute that the character will
take is specified by the attribute parameter. This value represents
the values allowed by the M6845 CRT controller (see table below).
This version supports all escape sequences defined by MSC version 4.0
and the special characters <bell>, <BS>, <LF>, <FF>, and <CR>.
In this implementation <BS> is limited to the current line, both
<CR> and <LF> are required for a new line, and <FF> is equivalent
to a clearMwin call. All windows perform automatic line wrapping
and window scrolling if the end of a line or the end of the window
is reached. The process of writing to a window includes verifying
that the requested window number is a valid window number, verifying
that it references an allocated window or the default window, and
actually writing the requested character to the window. Neither
the character being displayed nor the attribute are verified to
insure that they will actually appear on the screen. It is
possible to write non-displayable characters to the window or to
select a non-display attribute for the character being written.
This function will return either a value of TRUE (1) or ERROR (-1).
The return value from this function should be checked to verify that
the character was written to the window.
This function can only be called after a call to initMono or
initMwin. If this function is called without the Mwin variables
being properly initialized, the function will return an ERROR
value.
Parameters:
Window (int)
Character (char)
Attribute (char)
The Window parameter is normally a variable whose value was
returned from a call to the createMwin function. If the parameter
is zero (or a variable with zero value) the default window will
be used (full screen).
The character parameter specifies the character that will be
displayed on the window or the control information that will
be used to determine the next output position.
The attribute parameter specifies the attribute that the
displayed character will have within the window. The encoded
values for this character are:
0x80 - character blink
0x70 - reverse video
0x08 - high intensity
0x07 - normal intensity
0x01 - underline
If no attributes other than blink and high intensity are specified
(0x00, 0x08, 0x80, or 0x88) then the character will not be
displayed. The reverse video attribute is ignored if either the
normal intensity or the underline attribute is specified. The
high intensity attribute is ignored if the reverse video attribute
is used (0x78 and 0xF8).
Return values: (int)
TRUE (the character has been written)
ERROR (the character could not be written)
Example:
if (writeCharToMwin(wind2,'A', 0x0F) == ERROR)
{ printf("Error in writing to window 2. ");
printf("Program being terminated.\n");
exit(); }
This example will write the character "A" on the secondary monitor
with a high intensity (displayed) attribute. The character will
be displayed at the current window position.
writeStringToMwin(int, void *, char)
--------------------------------------------
The writeStringToMwin function writes a string to the portion of
the screen that is allocated to the window referenced in the Window
parameter. The location that the string is written to is dependent
on previous commands to the window (the screen location is saved
across window calls). The attribute that the string will take is
specified by the attribute parameter. This value represents the
values allowed by the M6845 CRT controller (see table above).
This version supports all escape sequences defined by MSC V4.0
and the special characters <bell>, <BS>, <LF>, <FF>, and <CR>.
In this implementation <BS> is limited to the current line, both
<CR> and <LF> are required for a new line, and <FF> is equivalent
to a clearMwin call. All windows perform automatic line wrapping
and window scrolling if the end of a line or the end of the window
is reached. The process of writing to a window includes verifying
that the requested window number is a valid window number, verifying
that it references an allocated window or the default window, and
actually writing the requested string to the window. Neither the
character being displayed nor the attribute are verified to insure
that they will actually appear on the screen. It is possible to
write non-displayable characters to the window or to select a
non-display attribute for the character being written. This function
will return either a value of TRUE (1) or ERROR (-1). The return
value from this routine should be checked to verify that the
string was written to the window.
This function can only be called after a call to initMono or
initMwin. If this function is called without the Mwin variables
being properly initialized, the function will return an ERROR
value.
Parameters:
Window (int)
String (char[])
Attribute (char)
The Window parameter is normally a variable whose value was
returned from a call to the createMwin function. If the parameter
is zero (or a variable with zero value) the default window will
be used (full screen).
The string parameter specifies the string that will be displayed
on the window. The string can include control information to
control the formatting of the string or to change the next output
position that will be used for the next window call. The string
must be terminated with a hex zero character.
The attribute parameter specifies the attribute that the
displayed character will have within the window. See the
writeCharToMwin description for details on this parameter.
Return values: (int)
TRUE (the string has been written)
ERROR (the string could not be written)
Example:
writeStringToMwin(wind2,"This is a test string.\n", 0x0F);
This example will write a string on the secondary monitor and
position the output location at the start of the next line of
text for the window. In this example, the return code is not
checked.
setMwin(int, int, int)
------------------------------
The setMwin function changes the starting location for the next
screen write for a particular window. This function allows these
routines to be used in programs that require non-TTY screen
formatting. The process of changing the window location includes
verifying that the requested window number is a valid window number,
verifying that it references an allocated window or the default
window, verifying that the requested location is within the requested
window, and actually changing the control information that specifies
the output location. This function will return either a value of
TRUE (1) or ERROR (-1). The return value from this routine should
be checked to verify that the output location for the window was
changed.
This function can only be called after a call to initMono or
initMwin. If this function is called without the Mwin variables
being properly initialized, the function will return an ERROR
value.
Parameters:
Window (int)
X value (int)
Y value (int)
The Window parameter is normally a variable whose value was
returned from a call to the createMwin function. If the parameter
is zero (or a variable with zero value) the default window will
be used (full screen).
The X value is the output column where the next write will start.
This column number is relative to zero, with zero being the first
column, one being the second, etc. If this value is negative or
greater than the number of columns in the window minus one, the
request will be rejected and the output position will not be
changed.
The Y value is the output row where the next write will start.
This row number is relative to zero, with zero being the first
row, one being the second, etc. If this value is negative or
greater than the number of rows in the window minus one, the
request will be rejected and the output position will not be
changed.
Return values: (int)
TRUE (the output position has been changed)
ERROR (the output position could not be changed)
Example:
if (setMwin(wind2, 0, 4) == ERROR)
{ printf("Error in positioning on window 2. ");
printf("Program being terminated.\n");
exit(); }
This example will position the output at the start of the fifth
row on window "wind2". If this requests fails, an error message
will be displayed on the primary screen and the program will be
terminated.
getMwinStatus(int, mwctl *)
-----------------------------------
The getMwinStatus function will return status information about
the requested window. The information returned includes the window
number, the window location and size, and the output position within
the window. The process of requesting the window status includes
verifying that the requested window number is a valid window number,
verifying that it references an allocated window or the default
window, and updating the window status structure provided by the
calling program (a pointer to this structure must be passed to this
function to allow it to be updated, see example below). This
function will return either a value of TRUE (1) or ERROR (-1). The
return value from this routine should be checked to verify that the
returned structure contains valid information about the window.
This function can only be called after a call to initMono or
initMwin. If this function is called without the Mwin variables
being properly initialized, the function will return an ERROR
value.
Parameters:
Window (int)
Status (mwctl)
The Window parameter is normally a variable whose value was
returned from a call to the createMwin function. If the parameter
is zero (or a variable with zero value) the default window will
be used (full screen).
The status parameter is a pointer to a structure of type "mwctl".
This structure is defined in the "MDISPLAY.H" include file (see
the variable definition section, above). This parameter must be
passed via a pointer to it to allow the called function to update
the calling program's copy of the structure (see example, below).
Return values: (int)
TRUE (status for the requested window has been returned)
ERROR (status for the requested window could not be returned)
Example:
#include <mdisplay.h>
struct mwctl mwin_status;
if (getMwinStatus(wind2, &mwin_status) == ERROR)
{ printf("Error in obtaining window status. ");
printf("Program being terminated.\n");
exit(); }
printf("Status for window %i\n", mwin_status.mwin);
printf(" Current line: %i\n", mwin_status.line);
printf(" Current column: %i\n", mwin_status.column);
This example will retrieve status information about the window
"wind2". It will display this information on the primary monitor.
If an error is encountered in retrieving the window status
information, an error message will be displayed on the primary
monitor and the program will be terminated.
disableMwin()
---------------------
The disableMwin function will disable the monochrome card for
output. When this is done, the screen information remains in the
video buffer but is not displayed on the monitor. This function is
normally used as a screen saving function. This function will have
no effect if there is not a monochrome card and monitor.
This function can be called at any time. It does not require any
of the Mwin variables. It can be used even if the monochrome monitor
is the primary monitor. If this is done, the output to the monochrome
monitor will not be visible.
Parameters:
None
Return values: (int)
FALSE (always)
Example:
disableMwin();
This example will disable the monochome monitor for output. No
error checking is required for calls to this function.
enableMwin()
---------------------
The enableMwin function will enable the monochrome card for output.
When this is done, the screen information in the video buffer will be
displayed on the monitor. This function is used to reverse the effect
of a call to the disableMwin function. This function will have no
effect if there is not a monochrome card and monitor or if the output
has already been enabled.
This function can be called at any time. It does not require any
of the Mwin variables. It can be used even if the monochrome monitor
is the primary monitor.
Parameters:
None
Return values: (int)
FALSE (always)
Example:
enableMwin();
This example will enable the monochome monitor for output. No
error checking is required for calls to this function.
12: Comments and Feedback
-------------------------
Comments and feedback are always welcome. You may send mail to:
William B. Bird
9132 Surf Ct
Brown Deer, WI, 53223
Reports of significant errors or bugs will be accepted from anyone.
They will be corrected as soon as possible, whether or not the user
who reported the problem is registered. A corrected version will be
uploaded to the EXEC-PC BBS as soon as the correction is made and
tested. If other arrangements are required, please let me know and
I will try to accommodate them.
Requests or suggestions for enhancements will also be accepted from
anyone. In this case, however, priority will be given to the requests
of registered users. The determining factor in classifying a request
as an enhancement or an error will be whether the actual operation of
the function corresponds to this document. In most cases, if it does
not function as documented it will be considered to be an error, if it
does function as documented it will be considered to be an enhancement.
All registered users will be notified of significant enhancements or
corrections to these routines.
-----------------------------------------------------------------------
R E G I S T R A T I O N F O R M
-----------------------------------------------------------------------
Please register me as a user of the MDISPLAY routines.
_____________________________
_____________________________
_____________________________
I have enclosed a _______ payment. ($25.00 minimum for commercial use)
The version of the routines that I am registering is ________ (see
title page of this document). All registered users who contribute $25.00
or more (including commercial registration) will receive a copy of the most
current (or next version if registering the most current) version of these
routines by return mail. Please make name and address legible to allow
shipment. The address must be capable of handling diskette sized mailers.
I have read the following license agreement, and agree to abide by it:
License Agreement:
The user receives a non-exclusive license to use the software refered
to as the MDISPLAY utility routines on one computer (CPU). This license
in no way transfers the ownership of the actual software or the copyright
thereon. This license allows the licensee to make sufficient backup copies
of the software as deemed necessary by the licensee. The licensee may
distribute copies of this software under the conditions described in the
MDISPLAY document. This license meets the registration requirements to
allow the licensee to incorporate these routines into commercial products.
The documentation provided with the MDISPLAY utility routines will be used
in answering licensing questions not directly addressed by this license
agreement.
------------- ---------------------------------
Date Your signature
***************************************************************************